rm(list = ls()) # Remove existing variables

Setup

library(USgrid)
## Warning: package 'USgrid' was built under R version 3.5.3
library(plotly)
## Warning: package 'plotly' was built under R version 3.5.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.5.3
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(tswge)
## Warning: package 'tswge' was built under R version 3.5.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.5.3
## -- Attaching packages -------------------------------------------------------------------------------- tidyverse 1.2.1 --
## v tibble  2.1.3     v purrr   0.3.2
## v tidyr   0.8.3     v dplyr   0.8.3
## v readr   1.3.1     v stringr 1.4.0
## v tibble  2.1.3     v forcats 0.4.0
## Warning: package 'tibble' was built under R version 3.5.3
## Warning: package 'tidyr' was built under R version 3.5.3
## Warning: package 'readr' was built under R version 3.5.2
## Warning: package 'purrr' was built under R version 3.5.3
## Warning: package 'dplyr' was built under R version 3.5.3
## Warning: package 'stringr' was built under R version 3.5.3
## Warning: package 'forcats' was built under R version 3.5.3
## -- Conflicts ----------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks plotly::filter(), stats::filter()
## x dplyr::lag()    masks stats::lag()
plot_ly(data = US_elec,
        x = ~ date_time,
        y = ~ series,
        color = ~ type,
        type = "scatter",
        mode = "lines")
## Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels

## Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels
plot_ly(data = US_source,
        x = ~ date_time,
        y = ~ series,
        color = ~ source,
        type = "scatter",
        mode = "lines")
head(US_elec)
## # A tibble: 6 x 3
##   date_time           series type  
##   <dttm>               <int> <chr> 
## 1 2015-07-01 05:00:00 162827 demand
## 2 2015-07-01 06:00:00 335153 demand
## 3 2015-07-01 07:00:00 333837 demand
## 4 2015-07-01 08:00:00 398386 demand
## 5 2015-07-01 09:00:00 388954 demand
## 6 2015-07-01 10:00:00 392487 demand
demand = US_elec %>% dplyr::filter(type == 'demand') 
head(demand)
## # A tibble: 6 x 3
##   date_time           series type  
##   <dttm>               <int> <chr> 
## 1 2015-07-01 05:00:00 162827 demand
## 2 2015-07-01 06:00:00 335153 demand
## 3 2015-07-01 07:00:00 333837 demand
## 4 2015-07-01 08:00:00 398386 demand
## 5 2015-07-01 09:00:00 388954 demand
## 6 2015-07-01 10:00:00 392487 demand
tail(demand)
## # A tibble: 6 x 3
##   date_time           series type  
##   <dttm>               <int> <chr> 
## 1 2019-12-31 18:00:00 450590 demand
## 2 2019-12-31 19:00:00 441607 demand
## 3 2019-12-31 20:00:00 435896 demand
## 4 2019-12-31 21:00:00 432563 demand
## 5 2019-12-31 22:00:00 438340 demand
## 6 2019-12-31 23:00:00 471189 demand
length(demand$series)
## [1] 39475
# x = ts(demand$series, start = lubridate::date(demand$date_time[1]), lubridate::date(demand$date_time[nrow(demand)]))
x = as.ts(demand$series)
length(x)
## [1] 39475
plotts.wge(x)

px = plotts.sample.wge(x)

pz = parzen.wge(x, trunc = 10000)